#ifndef EFFECTSLISTPARSER_H
#define EFFECTSLISTPARSER_H

#include <QtXml/QXmlSimpleReader>
#include <QtXml/QXmlDefaultHandler>
#include <QtXml/QXmlInputSource>

#include <QtGui/QMessageBox>

#include <QDebug>

#define CAMWHORE_EFFECT_LIST ("data\\Effects\\Effects.xml")

class EffectListParser : public QXmlDefaultHandler
{
public:
	EffectListParser();

	void parse(const QString& filename = CAMWHORE_EFFECT_LIST);

	// XML Handling functions
	virtual bool fatalError(const QXmlParseException& exception);
	virtual bool startElement(const QString& namespaceURI, const QString& localName, const QString& qName, const QXmlAttributes& atts);

	const QMap<QString, QString>& effects() { return m_effects; }

private:
	bool m_effectsStarted;

	QMap<QString, QString> m_effects;

signals:
	void foundEffect(const QString& name, const QString& filename);
};

#endif
